#ifndef D3D10_UTILS_LIGHT_H
#define D3D10_UTILS_LIGHT_H

#include <d3dx10.h>

namespace D3D10Utils 
{
	// This struct has all the necessary field to emulate 
	// a parallel, point or spot light.
	struct Light
	{
		D3DX10INLINE Light();

		D3DXVECTOR3 mPos;
		float mPad1; // not used
		D3DXVECTOR3 mDir;
		float mPad2; // not used
		D3DXCOLOR mAmbient;
		D3DXCOLOR mDiffuse;
		D3DXCOLOR mSpecular;
		D3DXVECTOR3 mAtt;
		float mSpotLightPower;
		float mRange;
	};

	Light::Light()
	{
		ZeroMemory(this, sizeof(Light));
	}
}

#endif // D3D10_UTILS_LIGHT_H
